package com.t.bricks.bussiness.db.entity.systemnotice.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 系统公告'SystemNotice'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 * @author HuangXinBian
 */
@ApiModel("系统公告SystemNotice")
@DataInfo(sDbName="BricksCommonBusiness", sTableName="SystemNotice")
public class SystemNoticeBase implements Serializable {

	private static final long serialVersionUID = 1L;// 使用rmi时需修改

	/**
	 * 记录编号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sId", sComment="记录编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=true, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=0 )
	@ApiModelProperty(value="记录编号", example="")
	//[end]
	protected String sId;

	/**
	 * 标题
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sTitle", sComment="标题", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=30, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=1 )
	@ApiModelProperty(value="标题", example="")
	//[end]
	protected String sTitle;

	/**
	 * 内容
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sContent", sComment="内容", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=1000, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=2 )
	@ApiModelProperty(value="内容", example="")
	//[end]
	protected String sContent;

	/**
	 * 公告人
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sNoticePeople", sComment="公告人", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=30, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=3 )
	@ApiModelProperty(value="公告人", example="")
	//[end]
	protected String sNoticePeople;

	/**
	 * 相关用户
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sUserIds", sComment="相关用户", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=1000, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=4 )
	@ApiModelProperty(value="相关用户", example="")
	//[end]
	protected String sUserIds;

	/**
	 * 滚动内容
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sRollContent", sComment="滚动内容", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=5 )
	@ApiModelProperty(value="滚动内容", example="")
	//[end]
	protected String sRollContent;

	/**
	 * 发布公告的时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dPublish", sComment="发布公告的时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=6 )
	@ApiModelProperty(value="发布公告的时间", example="")
	//[end]
	protected Date dPublish;

	/**
	 * 公告有效时间(开始)
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dValidBegin", sComment="公告有效时间(开始)", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=7 )
	@ApiModelProperty(value="公告有效时间(开始)", example="")
	//[end]
	protected Date dValidBegin;

	/**
	 * 公告有效时间(结束)
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dValidEnd", sComment="公告有效时间(结束)", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=8 )
	@ApiModelProperty(value="公告有效时间(结束)", example="")
	//[end]
	protected Date dValidEnd;

	/**
	 * 滚动条开始时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dRollBegin", sComment="滚动条开始时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=9 )
	@ApiModelProperty(value="滚动条开始时间", example="")
	//[end]
	protected Date dRollBegin;

	/**
	 * 滚动条结束时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dRollEnd", sComment="滚动条结束时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=10 )
	@ApiModelProperty(value="滚动条结束时间", example="")
	//[end]
	protected Date dRollEnd;

	/**
	 * 滚动公告的优先级
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="iRank", sComment="滚动公告的优先级", isDbField=true, sDbFileType="int",
		sDefaultData="0", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=11 )
	@ApiModelProperty(value="滚动公告的优先级", example="0")
	//[end]
	protected Integer iRank;

	/**
	 * 备注
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sMemo", sComment="备注", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=200, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=12 )
	@ApiModelProperty(value="备注", example="")
	//[end]
	protected String sMemo;

	/**
	 * 创建者
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sCreator", sComment="创建者", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=13 )
	@ApiModelProperty(value="创建者", example="00000000")
	//[end]
	protected String sCreator;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dCreateDate", sComment="创建时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=14 )
	@ApiModelProperty(value="创建时间", example="")
	//[end]
	protected Date dCreateDate;

	/**
	 * 修改人
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="sModifieder", sComment="修改人", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=15 )
	@ApiModelProperty(value="修改人", example="00000000")
	//[end]
	protected String sModifieder;

	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="dModifiedDate", sComment="修改时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=16 )
	@ApiModelProperty(value="修改时间", example="")
	//[end]
	protected Date dModifiedDate;

	/**
	 * 状态
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="iState", sComment="状态", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=17 )
	@ApiModelProperty(value="状态", example="1")
	//[end]
	protected Integer iState;

	/**
	 * 序号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="iIndex", sComment="序号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=18 )
	@ApiModelProperty(value="序号", example="1")
	//[end]
	protected Integer iIndex;

	/**
	 * 版本号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="SystemNotice",
		sName="iVersion", sComment="版本号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=19 )
	@ApiModelProperty(value="版本号", example="1")
	//[end]
	protected Integer iVersion;

	/**
	 * 取 记录编号
	 * @return String
	 */
	public String getsId() {
		return sId;
	}

	/**
	 * 设置记录编号
	 * @param sId
	 */
	public void setsId(String sId) {
		this.sId = sId;
	}

	/**
	 * 取 标题
	 * @return String
	 */
	public String getsTitle() {
		return sTitle;
	}

	/**
	 * 设置标题
	 * @param sTitle
	 */
	public void setsTitle(String sTitle) {
		this.sTitle = sTitle;
	}

	/**
	 * 取 内容
	 * @return String
	 */
	public String getsContent() {
		return sContent;
	}

	/**
	 * 设置内容
	 * @param sContent
	 */
	public void setsContent(String sContent) {
		this.sContent = sContent;
	}

	/**
	 * 取 公告人
	 * @return String
	 */
	public String getsNoticePeople() {
		return sNoticePeople;
	}

	/**
	 * 设置公告人
	 * @param sNoticePeople
	 */
	public void setsNoticePeople(String sNoticePeople) {
		this.sNoticePeople = sNoticePeople;
	}

	/**
	 * 取 相关用户
	 * @return String
	 */
	public String getsUserIds() {
		return sUserIds;
	}

	/**
	 * 设置相关用户
	 * @param sUserIds
	 */
	public void setsUserIds(String sUserIds) {
		this.sUserIds = sUserIds;
	}

	/**
	 * 取 滚动内容
	 * @return String
	 */
	public String getsRollContent() {
		return sRollContent;
	}

	/**
	 * 设置滚动内容
	 * @param sRollContent
	 */
	public void setsRollContent(String sRollContent) {
		this.sRollContent = sRollContent;
	}

	/**
	 * 取 发布公告的时间
	 * @return Date
	 */
	public Date getdPublish() {
		return dPublish;
	}

	/**
	 * 设置发布公告的时间
	 * @param dPublish
	 */
	public void setdPublish(Date dPublish) {
		this.dPublish = dPublish;
	}

	/**
	 * 取 公告有效时间(开始)
	 * @return Date
	 */
	public Date getdValidBegin() {
		return dValidBegin;
	}

	/**
	 * 设置公告有效时间(开始)
	 * @param dValidBegin
	 */
	public void setdValidBegin(Date dValidBegin) {
		this.dValidBegin = dValidBegin;
	}

	/**
	 * 取 公告有效时间(结束)
	 * @return Date
	 */
	public Date getdValidEnd() {
		return dValidEnd;
	}

	/**
	 * 设置公告有效时间(结束)
	 * @param dValidEnd
	 */
	public void setdValidEnd(Date dValidEnd) {
		this.dValidEnd = dValidEnd;
	}

	/**
	 * 取 滚动条开始时间
	 * @return Date
	 */
	public Date getdRollBegin() {
		return dRollBegin;
	}

	/**
	 * 设置滚动条开始时间
	 * @param dRollBegin
	 */
	public void setdRollBegin(Date dRollBegin) {
		this.dRollBegin = dRollBegin;
	}

	/**
	 * 取 滚动条结束时间
	 * @return Date
	 */
	public Date getdRollEnd() {
		return dRollEnd;
	}

	/**
	 * 设置滚动条结束时间
	 * @param dRollEnd
	 */
	public void setdRollEnd(Date dRollEnd) {
		this.dRollEnd = dRollEnd;
	}

	/**
	 * 取 滚动公告的优先级
	 * @return Integer
	 */
	public Integer getiRank() {
		return iRank;
	}

	/**
	 * 设置滚动公告的优先级
	 * @param iRank
	 */
	public void setiRank(Integer iRank) {
		this.iRank = iRank;
	}

	/**
	 * 取 备注
	 * @return String
	 */
	public String getsMemo() {
		return sMemo;
	}

	/**
	 * 设置备注
	 * @param sMemo
	 */
	public void setsMemo(String sMemo) {
		this.sMemo = sMemo;
	}

	/**
	 * 取 创建者
	 * @return String
	 */
	public String getsCreator() {
		return sCreator;
	}

	/**
	 * 设置创建者
	 * @param sCreator
	 */
	public void setsCreator(String sCreator) {
		this.sCreator = sCreator;
	}

	/**
	 * 取 创建时间
	 * @return Date
	 */
	public Date getdCreateDate() {
		return dCreateDate;
	}

	/**
	 * 设置创建时间
	 * @param dCreateDate
	 */
	public void setdCreateDate(Date dCreateDate) {
		this.dCreateDate = dCreateDate;
	}

	/**
	 * 取 修改人
	 * @return String
	 */
	public String getsModifieder() {
		return sModifieder;
	}

	/**
	 * 设置修改人
	 * @param sModifieder
	 */
	public void setsModifieder(String sModifieder) {
		this.sModifieder = sModifieder;
	}

	/**
	 * 取 修改时间
	 * @return Date
	 */
	public Date getdModifiedDate() {
		return dModifiedDate;
	}

	/**
	 * 设置修改时间
	 * @param dModifiedDate
	 */
	public void setdModifiedDate(Date dModifiedDate) {
		this.dModifiedDate = dModifiedDate;
	}

	/**
	 * 取 状态
	 * @return Integer
	 */
	public Integer getiState() {
		return iState;
	}

	/**
	 * 设置状态
	 * @param iState
	 */
	public void setiState(Integer iState) {
		this.iState = iState;
	}

	/**
	 * 取 序号
	 * @return Integer
	 */
	public Integer getiIndex() {
		return iIndex;
	}

	/**
	 * 设置序号
	 * @param iIndex
	 */
	public void setiIndex(Integer iIndex) {
		this.iIndex = iIndex;
	}

	/**
	 * 取 版本号
	 * @return Integer
	 */
	public Integer getiVersion() {
		return iVersion;
	}

	/**
	 * 设置版本号
	 * @param iVersion
	 */
	public void setiVersion(Integer iVersion) {
		this.iVersion = iVersion;
	}

	/**
	 * 复制对象
	 * @param source 数据源
	 * @return SystemNoticeBase
	 */
	public static SystemNoticeBase copy(SystemNoticeBase source) {
		if (null == source) {
			return null;
		}
		
		SystemNoticeBase target = new SystemNoticeBase();
		target.setsId(source.getsId());
		target.setsTitle(source.getsTitle());
		target.setsContent(source.getsContent());
		target.setsNoticePeople(source.getsNoticePeople());
		target.setsUserIds(source.getsUserIds());
		target.setsRollContent(source.getsRollContent());
		target.setdPublish(source.getdPublish());
		target.setdValidBegin(source.getdValidBegin());
		target.setdValidEnd(source.getdValidEnd());
		target.setdRollBegin(source.getdRollBegin());
		target.setdRollEnd(source.getdRollEnd());
		target.setiRank(source.getiRank());
		target.setsMemo(source.getsMemo());
		target.setsCreator(source.getsCreator());
		target.setdCreateDate(source.getdCreateDate());
		target.setsModifieder(source.getsModifieder());
		target.setdModifiedDate(source.getdModifiedDate());
		target.setiState(source.getiState());
		target.setiIndex(source.getiIndex());
		target.setiVersion(source.getiVersion());

		return target;
	}
	
	/**
	 * 克隆对象
	 * @return SystemNoticeBase
	 */
	public SystemNoticeBase clone() {
		return copy(this);
	}
	
}
